package com.itheima.d3_set;

import java.util.Comparator;
import java.util.TreeSet;

/**
 *  TreeSet指定规则
 *  1.实现类实现comparable接口
 *  2.创建对象时使用构造方法指定比较规则
 *
 *  注意：当实现类实现comparable接口时，默认使用TreeSet中的比较器 制定规则
 */
public class TreeSetDemo1 {
    public static void main(String[] args) {
        //用lambda表达式进行 因为创建的是的比较器的实现类对象 （函数式接口） 可以用lambda表达式进行比较
        TreeSet<Teacher> ts = new TreeSet<>((o1,o2) -> Double.compare(o1.getSalary(), o2.getSalary()));
        ts.add(new Teacher("陈平安", 18, 9000));
        ts.add(new Teacher("有村架纯", 20, 10000));
        ts.add(new Teacher("小松菜奈", 21, 6000));
        ts.add(new Teacher("李柳", 22, 5500));
        ts.add(new Teacher("李槐", 15, 3000));

        //1.实现类实现comparable接口
        for (Teacher t : ts) {
            System.out.println(t.getName() + " " + t.getAge() + " " + t.getSalary());
        }
        System.out.println("----------------------------------------------------------------");

        //2.创建对象时使用构造方法 使用比较器
        //而且当实现类实现comparable接口时，默认使用TreeSet中的比较器 制定规则
    }
}
